// 目标接口
interface UKSocket {
    void powerOn();
}

// 适配者
class UKSocketImpl implements UKSocket {
    public void powerOn() {
        System.out.println("UK Socket is powering on.");
    }
}

// 适配器
class UKToUSAdapter implements UKSocket {
    private UKSocket ukSocket;

    public UKToUSAdapter(UKSocket ukSocket) {
        this.ukSocket = ukSocket;
    }

    public void powerOn() {
        // 调用适配者的方法
        ukSocket.powerOn();
    }
}

// 客户端
class Laptop {
    private UKSocket ukSocket;

    public Laptop(UKSocket ukSocket) {
        this.ukSocket = ukSocket;
    }

    public void charge() {
        ukSocket.powerOn();
    }
}

// 客户端代码
public class Main {
    public static void main(String[] args) {
        UKSocket ukSocket = new UKSocketImpl(); // 创建英国插座
        UKToUSAdapter adapter = new UKToUSAdapter(ukSocket); // 创建适配器
        Laptop laptop = new Laptop(adapter); // 创建笔记本
        laptop.charge(); // 在英国充电
    }
}
